package com.hhh.corejava.code07_面向对象;

import com.hhh.corejava.code06_数组.ArrayUtil;
import com.hhh.corejava.code06_数组.Test12_螺旋式数组;

import java.util.Arrays;
import java.util.Scanner;

/**
 * @autor 黄焕晖
 * @date 2025年11月01日16:22
 **/
public class Test01_定义类 {
    public static void main(String[] args) {
//        ArrayUtil au = new ArrayUtil();
//        Test12_螺旋式数组 t12 = new Test12_螺旋式数组();
//        Scanner sc = new Scanner(System.in);
//        String s = new String("admin");
        //创建对象，对象是某一个类的具体事例
        //即：对象的数据类型是指向某一个类的
        //语法：类 对象 = new 类（）；
        Person person = new Person();
        //访问属性，通过对象名.属性名访问属性
        //对象名.属性名=值 表示赋值
        //直接访问对象名.属性名表示取值
        person.name="admin";
        person.age = 20;
        person.gender="男";
        person.hobby = new String[]{"篮球","足球"};

        //访问方法
        //语法：对象名.方法名（）；
        person.eat();
        person.sleep();
        person.show();


    }
}

class Person {
    //成员属性：用于表示类的特征
    //语法：属性类型 属性名;
    //属性的本质就是一个变量，定义才类中
    //在方法中的变量必须赋值，如果不赋值会报错
    //但是属性可以不赋值，每种类型都存在默认值
    //其默认值与数组默认值一致
    String name;
    int age;
    String gender;
    String[] hobby;



    //成员方法，定义类的行为
    //语法：修饰符 返回值类型 方法名(参数列表){
    //    方法体
    //}
   public void eat(){
        System.out.println(name+"饿了，要吃饭");
    }
    public void sleep(){
        System.out.println(name+"要睡觉了");
    }
    public void show(){
        System.out.println("我是"+name+",我今年"+age+"岁,我是"+gender+",我的爱好是"+ Arrays.toString(hobby));
    }
}
